package com.one.group.model.vo;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.one.group.model.entity.Position;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Author wanbo
 * @Date 2025/10/11 20:40
 */
@Data
public class PositionVo implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    private Long cellId;

    private String cellName;

    // 岗位编号
    @Column(value = "pos_number")
    private String posNumber;

    // 岗位名称
    private String name;

    // 排序
    private Integer ordered;

    // 上级岗位
    @Column(value = "parant_id")
    private Long parentId;

    // 类型（0为岗位部门，1为岗位）
    private Integer type;

    @Column(value = "tenant_id")
    private Long tenantId;

    @Column(value = "create_time")
    private Date createTime;

    @Column(value = "update_time")
    private Date updateTime;

    /**
     * 非数据库字段
     * 父菜单名称
     */
    @Column(ignore = true)
    private String parentName;

    /**
     * 非数据库字段
     * 菜单等级
     */
    @Column(ignore = true)
    private Integer level;

    /**
     * 非数据库字段
     * 子菜单
     */
    @Column(ignore = true)
    private List<PositionVo> children;

}
